/*
 * @Author: xsh201931773442 1948130520@qq.com
 * @Date: 2022-07-09 10:12:19
 * @LastEditors: xsh201931773442 1948130520@qq.com
 * @LastEditTime: 2022-07-11 11:26:39
 * @FilePath: \financialmanagement\src\tools\storage.js
 * @Description:本地存储方法封装
 *相关知识点：
localStorage的方法：
localStorage.setItem(key,value)   // 将value 值存储到key 字段
localStorage.getItem(key)    //获取指定key本地存储的值   
localStorage.removeItem(key)   // 删除指定key 本地存储的值
localStorage.clear() // 删除所有本地存储的值

JSON.parse() 方法将数据转换为 JavaScript 对象
JSON.stringify() 方法将 JavaScript 对象转换为字符串
 */

/**
 * 存储本地数据
 * @param {*} key   存储的键的名称
 * @param {*} value 存储在本地的值
 */
export const setItem = (key, value) => {
  // 判断要存储的值是否是一个对象，如果是对象使用 JSON.stringify()转换后再存储
  if (typeof value === 'object') {
    localStorage.setItem(key, JSON.stringify(value))
    return
  }
  localStorage.setItem(key, value)
}
// 3.在storage.js文件中，封装本地信息获取
/**
 * 获取本地数据
 * @param {*} key 要获取的本地存储的值
 * @returns
 */
export const getItem = (key) => {
  return JSON.parse(localStorage.getItem(key))
}
// 4.在storage.js文件中，封装删除指定的本地信息
/**
 * 删除指定数据
 * @param {*} key 存储的键的名称
 */
export const removeItem = (key) => {
  localStorage.removeItem(key)
}
// 5.在storage.js文件中，封装删除所有的本地信息
/**
 * 删除所有数据
 */
export const removeAllItem = () => {
  localStorage.clear()
}
